package model

import "github.com/sagoo-cloud/sagooiot/internal/model/entity"

type GetDevOtaFirewareListInput struct {
	Id int `json:"id"          description:"ID"`
	PaginationInput
	ProductID int    `json:"productId"   description:"所属产品ID"`
	Module    string `json:"module"   description:"所属模块"`
	Name      string `json:"name"   description:"升级包名称"`
}
type DevOtaFirewareListOutput struct {
	Data []DevOtaFirewareOutput
	PaginationOutput
}
type DevOtaFirewareOutput struct {
	UpdatedAt    string `json:"updatedAt"          description:"修改时间"`
	Id           string `json:"id"          description:""`
	Name         string `json:"name"          description:"升级包名称"`
	ProductName  string `json:"productName"          description:"产品名称"`
	ModuleNmae   string `json:"moduleName"  description:"模块名称"`
	ProductId    string `json:"productId"          description:"所属产品"`
	Module       string `json:"module"          description:"升级包所属模块"`
	Version      string `json:"version"          description:"升级包版本号"`
	AfterVersion string `json:"afterVersion"          description:"升级后版本好"`
	Are          string `json:"are"          description:"签名算法"`
	Check        string `json:"check"          description:"1需要，2不需要"`
	Checkres     int    `json:"checkres"  description:"1需要，2不需要" `
	CreatedBy    string `json:"createdBy"          description:"添加人"`
	CreatedAt    string `json:"createdAt"          description:"添加时间"`
	WaitVersion  string `json:"waitVersion"          description:"待升级版本号"`
	Typo         string `json:"typo"          description:"1整包，2差分"`
	Url          string `json:"url"          description:"升级包路径"`
	Describe     string `json:"describe"          description:"升级包描述"`
	Info         string `json:"info"          description:"推送给设备的描述"`
	Size         int    `json:"size" description:"升级包大小" `
	Sign         string `json:"sign" description:"升级包签名"`
}
type DevOtaFirewareAddInput struct {
	Typo         int    `json:"typo"          description:"1整包，2差分"`
	Url          string `json:"url"          description:"升级包路径" v:"required#url不能为空"`
	OssUrl       string `json:"ossurl"          description:"升级包路径" v:"required#ossUrl不能为空"`
	Describe     string `json:"describe"          description:"升级包描述"`
	Info         string `json:"info"          description:"推送给设备的描述"`
	Are          string `json:"are"          description:"签名算法"`
	Check        string `json:"check"          description:"1需要，2不需要"`
	Sign         string `json:"sign"    description:"升级包签名" `
	Name         string `json:"name"          description:"升级包名称"`
	ProductId    int    `json:"productId"          description:"所属产品"`
	Module       string `json:"module"          description:"升级包所属模块"`
	Version      string `json:"version"          description:"升级包版本号"`
	AfterVersion string `json:"afterVersion"          description:"升级后版本号"`
	CreatedBy    int    `json:"createdBy"          description:"添加人"`
	WaitVersion  string `json:"waitVersion"          description:"待升级版本号"`
}
type DevOtaFirewareEditInput struct {
	Id int `json:"id"          description:"ID"   v:"required#ID不能为空"`
	DevOtaFirewareAddInput
}

type UpgradeHttp struct {
	entity.DevOtaStrategy
	Module string
}

type UpgradeHttpInfo struct {
	entity.DevOtaFireware
	Strategy int `json:"strategy"`
}
